<?php

if (!function_exists('hasDuplicateKey')) {
    /**
     * 检查多维数组中某个键是否有重复值
     *
     * @param array $array 需要检查的多维数组
     * @param string $key 需要检查的键
     * @return bool 是否有重复值
     */
    function hasDuplicateKey($array=[], $key) {
        // 创建一个数组来存储已经见过的值
        $seenValues = [];
        // 遍历多维数组
        foreach ($array as $item) {
            // 检查数组中是否存在指定的键
            if (isset($item[$key])) {
                // 获取该键的值
                $value = $item[$key];
                // 如果值已经在 $seenValues 中，则表示有重复值
                if (in_array($value, $seenValues)) {
                    return true;
                }
                // 否则，将值加入 $seenValues
                $seenValues[] = $value;
            }
        }

        // 如果遍历完所有值都没有发现重复值，则返回 false
        return false;
    }
}

if (!function_exists('objectToArray')) {
    function objectToArray($object)
    {
        if (empty($object)) {
            return [];
        }
        //先编码成json字符串，再解码成数组
        return json_decode(json_encode($object), true);
    }
}

if (!function_exists('monthConvert')) {
    function monthConvert($month)
    {
        $data = [
            '01' => "Jan",
            '02' => "Feb",
            '03' => "Mar",
            '04' => "Apr",
            '05' => "May",
            '06' => "Jun",
            '07' => "Jul",
            '08' => "Aug",
            '09' => "Sep",
            '10' => "Oct",
            '11' => "Nov",
            '12' => "Dec"
        ];
        return $data[$month] ?? '';
    }
}
